using System;
using System.Reactive.Concurrency;
using Betfair.Api;

namespace Bull.Core
{
    public sealed class IoC
    {
        private readonly static Lazy<IoC> _container = new Lazy<IoC>(()=>new IoC());
        public static IoC Container { get { return _container.Value; } }
        private IoC()
        {
        }

        public IBetfairProxy BetfairProxy { get; private set; }
        public IScheduler Scheduler { get; private set; }

        public void SetBetfairProxy(IBetfairProxy betfairProxy)
        {
            BetfairProxy = betfairProxy;
        }

        public void SetScheduler(IScheduler scheduler)
        {
            Scheduler = scheduler;
        }
    }
}